<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>object类</title>
</head>

<body>
    <!-- 
        Object类型:
            1、在js当中内置了一个类型Object,可以将Object类型看做是所有对象的超类/基类。
            2、在js当中默认定义的类型,没有特殊说明的话,默认继承 Object
            3、Object类型中有哪些通用属性和方法呢?
                属性:
                    prototype 属性 | constructor 属性 
                方法:
                    toLocaleString方法 | toString 方法 | valueOf 方法
                
                    重点掌握:
                        prototype属性。(prototype翻译为原型)
                        这个属性可以给对象动态扩展属性和方法。
     -->
    <script>
        var o = new Object();
        console.log(typeof o)

        //演示prototype属性
        //后期给Object类型的对象扩展一个doSome()方法
        Object.prototype.doSome = function() {
            console.log("测试prototype")
        }

        //后期给Object类型的对象扩展一个username属性.
        Object.prototype.username = 'zhangsan'

        // 调用doSome方法
        o.doSome()


        console.log(o.username)

        //可以给String扩展一个方法吗？
        //给String类型的对象扩展一个mysubstr的方法.
        String.prototype.mysubstr = function(s, l) {
            return this.substr(s, l)
        }
        alert('asasdg'.mysubstr(2, 3))
    </script>

</body>

</html>